{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "5QoWip9KktQ0"
      },
      "outputs": [],
      "source": [
        "\"\"\"Licensed under the Apache License, Version 2.0.\"\"\"\n",
        "\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "\n",
        "from IPython import display\n",
        "import pandas as pd\n",
        "\n",
        "# Library of analysis code common to experiments.\n",
        "import protseq_analysis"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "q3SmkvGjEwK8"
      },
      "outputs": [],
      "source": [
        "# Download the dataset from:\n",
        "# Jess, Phillip (2021), “ProtSeq Data”, Mendeley Data, V1, doi: 10.17632/f9hdn5xc3v.1\n",
        "# https://data.mendeley.com/datasets/f9hdn5xc3v/1\n",
        "\n",
        "!wget https://data.mendeley.com/public-files/datasets/f9hdn5xc3v/files/d4ce0d83-88c6-4208-8e98-adc074c65b55/file_downloaded -O \"peptide nanobody BCS Base calls.fastq.gz\"\n",
        "!wget https://data.mendeley.com/public-files/datasets/f9hdn5xc3v/files/327343b8-11af-4fbc-afa9-2aeb07c3c8e7/file_downloaded -O \"peptide nanobody BCS undertermined calls.fastq.gz\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "1nyn2171wDJ8"
      },
      "outputs": [],
      "source": [
        "expt_dict = {\n",
        "    'base': ['peptide nanobody BCS Base calls.fastq.gz'],\n",
        "    'undertermined': ['peptide nanobody BCS undertermined calls.fastq.gz'],\n",
        "}\n",
        "\n",
        "component_names_str = '''\n",
        "5Phos.O1_BCS4_Fd7\tATCAAGGC\n",
        "5Phos.O1_BCS4_Fd8\tCTAGTACG\n",
        "5Phos.O1_BCS4_Fd11\tTGCGTACA\n",
        "Brady.O1_BCS4_Fd12\tTGCAAACG\n",
        "Brady.O1_BCS4_Fd13\tCGGAAAGA\n",
        "Brady.O1_BCS4_Fd14\tGTGAGCAA\n",
        "SP4.O1_BCS4_Fd15\tCGTAACTC\n",
        "SP4.O1_BCS4_Fd16\tCTATATCA\n",
        "SP4.O1_BCS4_Fd17\tTCTAAGGT\n",
        "Spot-Tag.O1_BCS4_Fd31\tAGATGCCA\n",
        "Spot-Tag.O1_BCS4_Fd19\tTGGTACCT\n",
        "Spot-Tag.O1_BCS4_Fd20\tCGTAAGTG\n",
        "SP6.O1_BCS4_Fd21\tGCAGTACT\n",
        "SP6.O1_BCS4_Fd22\tTTGCCCAA\n",
        "SP6.O1_BCS4_Fd23\tACGTGGAA\n",
        "CLR.Null.Blk_BCS4_Fd24\tTTGCTCCT\n",
        "CLR.Null.Blk_BCS4_Fd25\tGAAGGGAA\n",
        "CLR.Null.Blk_BCS4_Fd26\tACCTCAGA\n",
        "Spot-Tag.O1_BCS4_Fd27\tCCACATGA\n",
        "Spot-Tag.O1_BCS4_Fd28\tGTTTGGTG\n",
        "Spot-Tag.O1_BCS4_Fd29\tGGGACAAT\n",
        "AV.B4.U2.SA1.3\tCTTGTATCTAGG\n",
        "AV.B4.U2.SA2.3\tAATGCCGAAGGT\n",
        "AV.B4.U2.SA4.2\tACGTCGCCAATT\n",
        "Spot_B4.Br.A4.R\tCCGGTTAACAAA\n",
        "'''\n",
        "\n",
        "subseqs, component_dict, _ = protseq_analysis.get_subseqs_from_component_names(component_names_str)\n",
        "foundation_dict = protseq_analysis.get_foundation_dict(component_dict)\n",
        "full_df = protseq_analysis.read_fastqs_for_experiment(expt_dict, num_reads=100000000, subseqs=subseqs, n_common=50000000, dist_for_clustering=0)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "zMZoaQG1A2Bv"
      },
      "outputs": [],
      "source": [
        "cycle_dfs, cycle_correspondence = protseq_analysis.foundation_partner_cycle_table(full_df, foundation_dict,\n",
        "                                                                          component_dict, cycles_to_check=1, heatmap=False,\n",
        "                                                                          allow_overlaps=False)\n",
        "first_cycle_df = cycle_dfs[1]\n",
        "first_cycle_df['binder'] = ['SP4.2', 'SP6', 'SP9 (Neg. Ctrl)', 'Spot-Tag']\n",
        "plot_df = protseq_analysis.make_plot_df(first_cycle_df)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "height": 762
        },
        "executionInfo": {
          "elapsed": 290,
          "status": "ok",
          "timestamp": 1632439890726,
          "user": {
            "displayName": "",
            "photoUrl": "",
            "userId": ""
          },
          "user_tz": 420
        },
        "id": "MeZ9wC0crebN",
        "outputId": "4d772b03-d70d-40c0-de16-42ad3c8c58f5"
      },
      "outputs": [
        {
          "data": {
            "text/html": [
              "\u003cdiv\u003e\n",
              "\u003cstyle scoped\u003e\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "\u003c/style\u003e\n",
              "\u003ctable border=\"1\" class=\"dataframe\"\u003e\n",
              "  \u003cthead\u003e\n",
              "    \u003ctr style=\"text-align: right;\"\u003e\n",
              "      \u003cth\u003e\u003c/th\u003e\n",
              "      \u003cth\u003eBinder for\u003c/th\u003e\n",
              "      \u003cth\u003eSP4.2\u003c/th\u003e\n",
              "      \u003cth\u003eSP6\u003c/th\u003e\n",
              "      \u003cth\u003eSP9 (Neg. Ctrl)\u003c/th\u003e\n",
              "      \u003cth\u003eSpot-Tag\u003c/th\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eBinder Target\u003c/th\u003e\n",
              "      \u003cth\u003eTarget Foundation\u003c/th\u003e\n",
              "      \u003cth\u003e\u003c/th\u003e\n",
              "      \u003cth\u003e\u003c/th\u003e\n",
              "      \u003cth\u003e\u003c/th\u003e\n",
              "      \u003cth\u003e\u003c/th\u003e\n",
              "    \u003c/tr\u003e\n",
              "  \u003c/thead\u003e\n",
              "  \u003ctbody\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth rowspan=\"3\" valign=\"top\"\u003e5Phos\u003c/th\u003e\n",
              "      \u003cth\u003eFd11\u003c/th\u003e\n",
              "      \u003ctd\u003e180\u003c/td\u003e\n",
              "      \u003ctd\u003e970\u003c/td\u003e\n",
              "      \u003ctd\u003e1\u003c/td\u003e\n",
              "      \u003ctd\u003e288\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd7\u003c/th\u003e\n",
              "      \u003ctd\u003e679\u003c/td\u003e\n",
              "      \u003ctd\u003e1269\u003c/td\u003e\n",
              "      \u003ctd\u003e4\u003c/td\u003e\n",
              "      \u003ctd\u003e611\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd8\u003c/th\u003e\n",
              "      \u003ctd\u003e91\u003c/td\u003e\n",
              "      \u003ctd\u003e523\u003c/td\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "      \u003ctd\u003e175\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth rowspan=\"3\" valign=\"top\"\u003eBrady\u003c/th\u003e\n",
              "      \u003cth\u003eFd12\u003c/th\u003e\n",
              "      \u003ctd\u003e24\u003c/td\u003e\n",
              "      \u003ctd\u003e116\u003c/td\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "      \u003ctd\u003e42\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd13\u003c/th\u003e\n",
              "      \u003ctd\u003e516\u003c/td\u003e\n",
              "      \u003ctd\u003e1611\u003c/td\u003e\n",
              "      \u003ctd\u003e4\u003c/td\u003e\n",
              "      \u003ctd\u003e1663\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd14\u003c/th\u003e\n",
              "      \u003ctd\u003e222\u003c/td\u003e\n",
              "      \u003ctd\u003e1113\u003c/td\u003e\n",
              "      \u003ctd\u003e1\u003c/td\u003e\n",
              "      \u003ctd\u003e603\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth rowspan=\"3\" valign=\"top\"\u003eCLR\u003c/th\u003e\n",
              "      \u003cth\u003eFd24\u003c/th\u003e\n",
              "      \u003ctd\u003e224\u003c/td\u003e\n",
              "      \u003ctd\u003e1061\u003c/td\u003e\n",
              "      \u003ctd\u003e2\u003c/td\u003e\n",
              "      \u003ctd\u003e405\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd25\u003c/th\u003e\n",
              "      \u003ctd\u003e233\u003c/td\u003e\n",
              "      \u003ctd\u003e930\u003c/td\u003e\n",
              "      \u003ctd\u003e3\u003c/td\u003e\n",
              "      \u003ctd\u003e558\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd26\u003c/th\u003e\n",
              "      \u003ctd\u003e81\u003c/td\u003e\n",
              "      \u003ctd\u003e361\u003c/td\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "      \u003ctd\u003e92\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eEmpty\u003c/th\u003e\n",
              "      \u003cth\u003eEmpty\u003c/th\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth rowspan=\"3\" valign=\"top\"\u003eSP4\u003c/th\u003e\n",
              "      \u003cth\u003eFd15\u003c/th\u003e\n",
              "      \u003ctd\u003e7201\u003c/td\u003e\n",
              "      \u003ctd\u003e397\u003c/td\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "      \u003ctd\u003e207\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd16\u003c/th\u003e\n",
              "      \u003ctd\u003e8399\u003c/td\u003e\n",
              "      \u003ctd\u003e447\u003c/td\u003e\n",
              "      \u003ctd\u003e2\u003c/td\u003e\n",
              "      \u003ctd\u003e107\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd17\u003c/th\u003e\n",
              "      \u003ctd\u003e11355\u003c/td\u003e\n",
              "      \u003ctd\u003e441\u003c/td\u003e\n",
              "      \u003ctd\u003e1\u003c/td\u003e\n",
              "      \u003ctd\u003e188\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth rowspan=\"3\" valign=\"top\"\u003eSP6\u003c/th\u003e\n",
              "      \u003cth\u003eFd21\u003c/th\u003e\n",
              "      \u003ctd\u003e83\u003c/td\u003e\n",
              "      \u003ctd\u003e28641\u003c/td\u003e\n",
              "      \u003ctd\u003e3\u003c/td\u003e\n",
              "      \u003ctd\u003e129\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd22\u003c/th\u003e\n",
              "      \u003ctd\u003e82\u003c/td\u003e\n",
              "      \u003ctd\u003e28871\u003c/td\u003e\n",
              "      \u003ctd\u003e1\u003c/td\u003e\n",
              "      \u003ctd\u003e148\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd23\u003c/th\u003e\n",
              "      \u003ctd\u003e50\u003c/td\u003e\n",
              "      \u003ctd\u003e21007\u003c/td\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "      \u003ctd\u003e96\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth rowspan=\"6\" valign=\"top\"\u003eSpot-Tag\u003c/th\u003e\n",
              "      \u003cth\u003eFd19\u003c/th\u003e\n",
              "      \u003ctd\u003e132\u003c/td\u003e\n",
              "      \u003ctd\u003e485\u003c/td\u003e\n",
              "      \u003ctd\u003e2\u003c/td\u003e\n",
              "      \u003ctd\u003e7013\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd20\u003c/th\u003e\n",
              "      \u003ctd\u003e138\u003c/td\u003e\n",
              "      \u003ctd\u003e406\u003c/td\u003e\n",
              "      \u003ctd\u003e0\u003c/td\u003e\n",
              "      \u003ctd\u003e9825\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd27\u003c/th\u003e\n",
              "      \u003ctd\u003e114\u003c/td\u003e\n",
              "      \u003ctd\u003e453\u003c/td\u003e\n",
              "      \u003ctd\u003e38\u003c/td\u003e\n",
              "      \u003ctd\u003e3461\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd28\u003c/th\u003e\n",
              "      \u003ctd\u003e124\u003c/td\u003e\n",
              "      \u003ctd\u003e455\u003c/td\u003e\n",
              "      \u003ctd\u003e1\u003c/td\u003e\n",
              "      \u003ctd\u003e4976\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd29\u003c/th\u003e\n",
              "      \u003ctd\u003e161\u003c/td\u003e\n",
              "      \u003ctd\u003e458\u003c/td\u003e\n",
              "      \u003ctd\u003e1\u003c/td\u003e\n",
              "      \u003ctd\u003e10803\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "    \u003ctr\u003e\n",
              "      \u003cth\u003eFd31\u003c/th\u003e\n",
              "      \u003ctd\u003e130\u003c/td\u003e\n",
              "      \u003ctd\u003e428\u003c/td\u003e\n",
              "      \u003ctd\u003e1\u003c/td\u003e\n",
              "      \u003ctd\u003e5256\u003c/td\u003e\n",
              "    \u003c/tr\u003e\n",
              "  \u003c/tbody\u003e\n",
              "\u003c/table\u003e\n",
              "\u003c/div\u003e"
            ],
            "text/plain": [
              "Binder for                       SP4.2    SP6  SP9 (Neg. Ctrl)  Spot-Tag\n",
              "Binder Target Target Foundation                                         \n",
              "5Phos         Fd11                 180    970                1       288\n",
              "              Fd7                  679   1269                4       611\n",
              "              Fd8                   91    523                0       175\n",
              "Brady         Fd12                  24    116                0        42\n",
              "              Fd13                 516   1611                4      1663\n",
              "              Fd14                 222   1113                1       603\n",
              "CLR           Fd24                 224   1061                2       405\n",
              "              Fd25                 233    930                3       558\n",
              "              Fd26                  81    361                0        92\n",
              "Empty         Empty                  0      0                0         0\n",
              "SP4           Fd15                7201    397                0       207\n",
              "              Fd16                8399    447                2       107\n",
              "              Fd17               11355    441                1       188\n",
              "SP6           Fd21                  83  28641                3       129\n",
              "              Fd22                  82  28871                1       148\n",
              "              Fd23                  50  21007                0        96\n",
              "Spot-Tag      Fd19                 132    485                2      7013\n",
              "              Fd20                 138    406                0      9825\n",
              "              Fd27                 114    453               38      3461\n",
              "              Fd28                 124    455                1      4976\n",
              "              Fd29                 161    458                1     10803\n",
              "              Fd31                 130    428                1      5256"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "def get_foundation(s):\n",
        "  if s == 'Empty_Foundation':\n",
        "    return 'Empty'\n",
        "  else:\n",
        "    return s.split('_')[-1]\n",
        "\n",
        "def pivot_plot_df(plot_df):\n",
        "  df = plot_df.copy()\n",
        "  df['Target Foundation'] = df['target'].map(get_foundation)\n",
        "  return pd.pivot(df, index=['Binder Target', 'Target Foundation'], values='Count', columns='Binder for').astype(int)\n",
        "\n",
        "plot_df_pivoted = pivot_plot_df(plot_df)\n",
        "with pd.option_context(\"display.max_rows\", 1000):\n",
        "  display.display(plot_df_pivoted)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "height": 421
        },
        "executionInfo": {
          "elapsed": 2643,
          "status": "ok",
          "timestamp": 1632439913869,
          "user": {
            "displayName": "",
            "photoUrl": "",
            "userId": ""
          },
          "user_tz": 420
        },
        "id": "5sjHHvNWaNpe",
        "outputId": "f74c1661-888b-4f90-c393-ab9ee9c4c659"
      },
      "outputs": [
        {
          "data": {
            "image/png": "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\nJEmSlImqlHhsyfJabQ8v/jCbMJIkSSp4Fs0kSZIkSVImiiLoVdq8Vlufls23srckSZJUvyyaSZIk\nSZKkzFw/oBftSnK3Jzo1K+a/+vfKOJEkSZIKlXOaSZIkSZKkzBzfuR2vHTWEt9esZ0CrFrQo9vle\nSZIkZcOimSRJkiRJylTr4mKGtW2VdQxJkiQVOB/fkiRJkiRJkiRJUsGzaCZJkiRJkiRJkqSCZ9FM\nkiRJkiRJkiRJBc+imSRJkiRJkiRJkgqeRTNJkiRJkiRJkiQVvJKsA0iSJEmSpML20germLBiNSM6\ntKGsfeus40iSJKlAWTSTJEmSJEmZ+eWchVz3Tnn1+o/79+TiXl0zTCRJkqRC5fCMkiRJkiQpEykl\nfjl3Ya22X85dlFEaSZIkbdPGtTD+VnjqP6H8jazT1At7mkmSJEmSpMxUpc3XU907SpIkKVt3nAuz\nX8gt/+Pn8KX7Yd9PZBppd7OnmSRJkiRJykRE8LXe3Wq1fX2zdUmSJDUC77/5UcEMoKoCXrk5uzz1\nxJ5mkiRJkiQpM//cb28ObteKiStWc2T7NhzbqW3WkSRJkrS54uZbtpWUNnyOembRTJIkSZIkZerE\nzu04sXO7rGNIkiRpa7oOhEFnwrQHc+vNWsGIK7LNVA8smkmSJEmSJEmSJGnbzh0NM5+A5fNg4Keg\nfa+sE+12Fs0kSZIkSZIkSZK0bUXFMPDUrFPUq6KsA0iSJEmSJEmSJElZs2gmSZIkSZIkSZKkgmfR\nTJIkSZIkSZIkSQXPopkkSZIkSZIkSZIKnkUzSZIkSZIkSZIkFTyLZpIkSZIkSZIkSSp4Fs0kSZIk\nSZIkSZJU8CyaSZIkSZIkSZIkqeBZNJMkSZIkSZIkSVLBs2gmSZIkSZIkSZKkgmfRTJIkSZIkSZIk\nSQWvJOsAkiRJkiRJkiRJamRWLYI374XiZjD0XGjZIetE9c6imSRJkiRJkiRJkj6yohx+eyysXpxb\nH/sr+NoLUNo221z1LJPhGSNidkS8GRGTImJ8vq1TRDwRETPzXzvW2P8HETErImZExCk12g/Nn2dW\nRNwYEZHF55EkSZIkSZIkSdpjvP6njwpmAB+8C1MfzC5PA8lyTrPjU0rDU0pl+fXvA0+llPoDT+XX\niYjBwPnAEOBU4NcRUZw/5jfAZUD//OvUBswvSZIkSZIkSZJUGDauhed/Cg99G959Pus09SLLotnm\n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\n",
            "text/plain": [
              "\u003cFigure size 3000x600 with 1 Axes\u003e"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "def do_plot(plot_df, palette):\n",
        "  plot_agg_df = plot_df.groupby(['Binder Target', 'target', 'Binder for']).sum().reset_index()\n",
        "  plt.figure(figsize=(30,6))\n",
        "  # plt.figure(figsize=(4.75, 2))  # Size for figure in paper.\n",
        "  g = sns.swarmplot(data=plot_agg_df, palette=palette,\n",
        "                    x='Binder Target', y='Count', hue='Binder for', dodge=True)\n",
        "  g.set_xticklabels(g.get_xticklabels(), rotation=90) \n",
        "  plt.show()\n",
        "\n",
        "\n",
        "do_plot(plot_df, palette={'SP4.2':'tab:cyan',\n",
        "                          'SP6': 'tab:purple',\n",
        "                          'SP9 (Neg. Ctrl)': 'tab:green',\n",
        "                          'Spot-Tag': 'tab:orange'})"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "UZu9m8wmLz_5"
      },
      "outputs": [],
      "source": [
        ""
      ]
    }
  ],
  "metadata": {
    "colab": {
      "collapsed_sections": [],
      "last_runtime": {
        "build_target": "",
        "kind": "local"
      },
      "name": "BCS ProtSeq Single cycle spot tag nanobody.ipynb",
      "provenance": [
        {
          "file_id": "1k8UKySCRrNevNTXJ83-2uiVZoa1N4BYl",
          "timestamp": 1631739518321
        },
        {
          "file_id": "1fONwpc7if6IkMxFexvXvYkFqv1FB5NaG",
          "timestamp": 1631723212939
        },
        {
          "file_id": "1ZlC9Jz_Zaw5TCS7AuD_yxQDG4sQD9Jtd",
          "timestamp": 1631720954129
        }
      ]
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
